home *** CD-ROM | disk | FTP | other *** search
- package netscape.util;
-
- final class ArchivingStack {
- int depth;
- int maxDepth;
- Object[] objArray;
- int[] intArray;
-
- private void growArrays() {
- if (this.maxDepth == 0) {
- this.maxDepth = 8;
- } else {
- this.maxDepth = 2 * this.maxDepth;
- }
-
- Object[] var1 = new Object[2 * this.maxDepth];
- int[] var2 = new int[4 * this.maxDepth];
- if (this.objArray != null && this.intArray != null) {
- System.arraycopy(this.objArray, 0, var1, 0, this.objArray.length);
- System.arraycopy(this.intArray, 0, var2, 0, this.intArray.length);
- }
-
- this.objArray = var1;
- this.intArray = var2;
- }
-
- void pushArchiver(Archiver var1) {
- ++this.depth;
- int var2 = this.depth;
- if (this.depth >= this.maxDepth) {
- this.growArrays();
- }
-
- this.objArray[2 * var2] = var1.currentObject;
- this.objArray[2 * var2 + 1] = var1.currentTable;
- this.intArray[4 * var2] = var1.currentId;
- this.intArray[4 * var2 + 1] = var1.currentColumnCount;
- this.intArray[4 * var2 + 2] = var1.currentRow;
- this.intArray[4 * var2 + 3] = var1.currentColumn;
- }
-
- void pushUnarchiver(Unarchiver var1) {
- ++this.depth;
- int var2 = this.depth;
- if (this.depth >= this.maxDepth) {
- this.growArrays();
- }
-
- this.objArray[2 * var2] = var1.currentObject;
- this.objArray[2 * var2 + 1] = var1.currentTable;
- this.intArray[4 * var2] = var1.currentId;
- this.intArray[4 * var2 + 1] = var1.currentColumnCount;
- this.intArray[4 * var2 + 2] = var1.currentRow;
- this.intArray[4 * var2 + 3] = var1.currentColumn;
- }
-
- void popArchiver(Archiver var1) {
- int var2 = this.depth;
- var1.currentObject = this.objArray[2 * var2];
- this.objArray[2 * var2] = null;
- var1.currentTable = (ClassTable)this.objArray[2 * var2 + 1];
- this.objArray[2 * var2 + 1] = null;
- var1.currentId = this.intArray[4 * var2];
- var1.currentColumnCount = this.intArray[4 * var2 + 1];
- var1.currentRow = this.intArray[4 * var2 + 2];
- var1.currentColumn = this.intArray[4 * var2 + 3];
- --this.depth;
- }
-
- void popUnarchiver(Unarchiver var1) {
- int var2 = this.depth;
- var1.currentObject = this.objArray[2 * var2];
- this.objArray[2 * var2] = null;
- var1.currentTable = (ClassTable)this.objArray[2 * var2 + 1];
- this.objArray[2 * var2 + 1] = null;
- var1.currentId = this.intArray[4 * var2];
- var1.currentColumnCount = this.intArray[4 * var2 + 1];
- var1.currentRow = this.intArray[4 * var2 + 2];
- var1.currentColumn = this.intArray[4 * var2 + 3];
- --this.depth;
- }
- }
-